<?php

/**
 * TOP API: taobao.fenxiao.order.create.dealer request
 *
 * @author auto create
 * @since  1.0, 2013-09-13 16:51:03
 */
class Taobao_Request_FenxiaoOrderCreateDealerRequest {
	/**
	 * 街道
	 **/
	private $addr;

	/**
	 * 买家姓名
	 **/
	private $buyerName;

	/**
	 * 市
	 **/
	private $city;

	/**
	 * 区
	 **/
	private $country;

	/**
	 * 运费，单位为分
	 **/
	private $logisticFee;

	/**
	 * 运输方式，快递,平邮等
	 **/
	private $logisticType;

	/**
	 * 留言
	 **/
	private $message;

	/**
	 * 买家手机号码和电话号码两者中必须有一个
	 **/
	private $mobilePhone;

	/**
	 * erp主订单号，用于去重。当传入号已存在将返回原来的采购单
	 **/
	private $outerId;

	/**
	 * 支付类型,需要供应支持该支付类型
	 **/
	private $payType;

	/**
	 * 买家电话号码
	 **/
	private $phone;

	/**
	 * 省
	 **/
	private $province;

	/**
	 * 子单信息,子单内部以‘,’隔开，多个子单以‘;’隔开.
	 * 例(分销产品id,skuid,购买数量,单价;分销产品id:,skuid,购买数量,单价)
	 * 单价的单位位分
	 **/
	private $subOrderDetail;

	/**
	 * 邮编
	 **/
	private $zipCode;

	private $apiParas = array();

	public function setAddr($addr) {
		$this->addr = $addr;
		$this->apiParas["addr"] = $addr;
	}

	public function getAddr() {
		return $this->addr;
	}

	public function setBuyerName($buyerName) {
		$this->buyerName = $buyerName;
		$this->apiParas["buyer_name"] = $buyerName;
	}

	public function getBuyerName() {
		return $this->buyerName;
	}

	public function setCity($city) {
		$this->city = $city;
		$this->apiParas["city"] = $city;
	}

	public function getCity() {
		return $this->city;
	}

	public function setCountry($country) {
		$this->country = $country;
		$this->apiParas["country"] = $country;
	}

	public function getCountry() {
		return $this->country;
	}

	public function setLogisticFee($logisticFee) {
		$this->logisticFee = $logisticFee;
		$this->apiParas["logistic_fee"] = $logisticFee;
	}

	public function getLogisticFee() {
		return $this->logisticFee;
	}

	public function setLogisticType($logisticType) {
		$this->logisticType = $logisticType;
		$this->apiParas["logistic_type"] = $logisticType;
	}

	public function getLogisticType() {
		return $this->logisticType;
	}

	public function setMessage($message) {
		$this->message = $message;
		$this->apiParas["message"] = $message;
	}

	public function getMessage() {
		return $this->message;
	}

	public function setMobilePhone($mobilePhone) {
		$this->mobilePhone = $mobilePhone;
		$this->apiParas["mobile_phone"] = $mobilePhone;
	}

	public function getMobilePhone() {
		return $this->mobilePhone;
	}

	public function setOuterId($outerId) {
		$this->outerId = $outerId;
		$this->apiParas["outer_id"] = $outerId;
	}

	public function getOuterId() {
		return $this->outerId;
	}

	public function setPayType($payType) {
		$this->payType = $payType;
		$this->apiParas["pay_type"] = $payType;
	}

	public function getPayType() {
		return $this->payType;
	}

	public function setPhone($phone) {
		$this->phone = $phone;
		$this->apiParas["phone"] = $phone;
	}

	public function getPhone() {
		return $this->phone;
	}

	public function setProvince($province) {
		$this->province = $province;
		$this->apiParas["province"] = $province;
	}

	public function getProvince() {
		return $this->province;
	}

	public function setSubOrderDetail($subOrderDetail) {
		$this->subOrderDetail = $subOrderDetail;
		$this->apiParas["sub_order_detail"] = $subOrderDetail;
	}

	public function getSubOrderDetail() {
		return $this->subOrderDetail;
	}

	public function setZipCode($zipCode) {
		$this->zipCode = $zipCode;
		$this->apiParas["zip_code"] = $zipCode;
	}

	public function getZipCode() {
		return $this->zipCode;
	}

	public function getApiMethodName() {
		return "taobao.fenxiao.order.create.dealer";
	}

	public function getApiParas() {
		return $this->apiParas;
	}

	public function check() {

		Taobao_RequestCheckUtil::checkNotNull($this->addr, "addr");
		Taobao_RequestCheckUtil::checkNotNull($this->buyerName, "buyerName");
		Taobao_RequestCheckUtil::checkMaxLength($this->buyerName, 20, "buyerName");
		Taobao_RequestCheckUtil::checkNotNull($this->logisticFee, "logisticFee");
		Taobao_RequestCheckUtil::checkNotNull($this->logisticType, "logisticType");
		Taobao_RequestCheckUtil::checkMaxLength($this->message, 200, "message");
		Taobao_RequestCheckUtil::checkNotNull($this->outerId, "outerId");
		Taobao_RequestCheckUtil::checkNotNull($this->payType, "payType");
		Taobao_RequestCheckUtil::checkNotNull($this->province, "province");
		Taobao_RequestCheckUtil::checkNotNull($this->subOrderDetail, "subOrderDetail");
	}

	public function putOtherTextParam($key, $value) {
		$this->apiParas[$key] = $value;
		$this->$key = $value;
	}
}
